package edu.ues21.tcs.ecommerce2011.mvc.dao;

import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.transaction.annotation.Transactional;

import edu.ues21.tcs.ecommerce2011.mvc.model.Marca;

@Transactional
public class MarcaDAOImpl implements MarcaDAO{

	// Declaro el hibernate template.
	private HibernateTemplate hibernateTemplate;

	// Le seteo el sessionFactory que le inyecto al hibernateTemplate.
	public void setSessionFactory(SessionFactory sessionFactory) {
		this.hibernateTemplate = new HibernateTemplate(sessionFactory);
	}

	public void save(Marca marca) {

		hibernateTemplate.merge(marca);
	}

	public void delete(Marca marca) {

		hibernateTemplate.delete(marca);
	}

	@SuppressWarnings("unchecked")
	@Transactional(readOnly = true)
	public List<Marca> getAll() {

		return hibernateTemplate.find("from Marca");
	}

	@Transactional(readOnly = true)
	public Marca get(Integer id) {

		return hibernateTemplate.get(Marca.class, id);
	}

    @Override
    public Marca getMarca() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

}
